package com.codeyang.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.codeyang.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codeyang.dto.OrderConfirmParam;
import com.codeyang.vo.OrderResult;
import com.codeyang.vo.OrderStatusModel;

/**
* 描述:
* @author CodeYang_Site
* @version 2021/5/31 17:42
*/
public interface OrderService extends IService<Order>{


    /**
     * 根据用户id查询用户订单状态 数量合集
     * @param userId
     * @return
     */
    OrderStatusModel findUserOrderStatusCount(String userId);

    /**
     *
     * @param page
     * @param order
     * @return
     */
    Page<Order> findMyOrderByPage(Page<Order> page, Order order);

    /**
     * 确认订单信息 回显
     * @param userId
     * @param orderConfirmParam
     * @return
     */
    OrderResult confirmOrder(String userId, OrderConfirmParam orderConfirmParam);

    /**
     * 生成预订单,准备支付,一系列工作
     * @param orderResult
     * @param userId
     * @return
     */
    String  createOrderToPay(OrderResult orderResult, String userId);
}
